// Copyright (c) Alexandre Mutel. All rights reserved.
// This file is licensed under the BSD-Clause 2 license. 
// See the license.txt file in the project root for more information.

using System.Collections.Generic;

namespace Markdig.Helpers
{
    /// <summary>
    /// Class used to simplify a unicode char to a simple ASCII string
    /// </summary>
    public static class CharNormalizer
    {
        /// <summary>
        /// Converts a unicode char to a simple ASCII string.
        /// </summary>
        /// <param name="c">The input char.</param>
        /// <returns>The simple ASCII string or null if the char itself cannot be simplified</returns>
        public static string? ConvertToAscii(char c)
        {
            return c >= 160 && CodeToAscii.TryGetValue(c, out string? str) ? str : null;
        }

        // This table was generated by the app UnicodeNormDApp
        private static readonly Dictionary<char, string> CodeToAscii = new(1269)
        {
            {'Ḋ', "D"},
            {'Ḍ', "D"},
            {'È', "E"},
            {'Ē', "E"},
            {'Ḕ', "E"},
            {'ª', "a"},
            {'²', "2"},
            {'³', "3"},
            {'¹', "1"},
            {'º', "o"},
            {'¼', "14"},
            {'½', "12"},
            {'¾', "34"},
            {'À', "A"},
            {'Á', "A"},
            {'Â', "A"},
            {'Ã', "A"},
            {'Ä', "A"},
            {'Å', "A"},
            {'Ç', "C"},
            {'É', "E"},
            {'Ê', "E"},
            {'Ë', "E"},
            {'Ì', "I"},
            {'Í', "I"},
            {'Î', "I"},
            {'Ï', "I"},
            {'Ñ', "N"},
            {'Ò', "O"},
            {'Ó', "O"},
            {'Ô', "O"},
            {'Õ', "O"},
            {'Ö', "O"},
            {'Ù', "U"},
            {'Ú', "U"},
            {'Û', "U"},
            {'Ü', "U"},
            {'Ý', "Y"},
            {'à', "a"},
            {'á', "a"},
            {'â', "a"},
            {'ã', "a"},
            {'ä', "a"},
            {'å', "a"},
            {'ç', "c"},
            {'è', "e"},
            {'é', "e"},
            {'ê', "e"},
            {'ë', "e"},
            {'ì', "i"},
            {'í', "i"},
            {'î', "i"},
            {'ï', "i"},
            {'ñ', "n"},
            {'ò', "o"},
            {'ó', "o"},
            {'ô', "o"},
            {'õ', "o"},
            {'ö', "o"},
            {'ù', "u"},
            {'ú', "u"},
            {'û', "u"},
            {'ü', "u"},
            {'ý', "y"},
            {'ÿ', "y"},
            {'Ā', "A"},
            {'ā', "a"},
            {'Ă', "A"},
            {'ă', "a"},
            {'Ą', "A"},
            {'ą', "a"},
            {'Ć', "C"},
            {'ć', "c"},
            {'Ĉ', "C"},
            {'ĉ', "c"},
            {'Ċ', "C"},
            {'ċ', "c"},
            {'Č', "C"},
            {'č', "c"},
            {'Ď', "D"},
            {'ď', "d"},
            {'ē', "e"},
            {'Ĕ', "E"},
            {'ĕ', "e"},
            {'Ė', "E"},
            {'ė', "e"},
            {'Ę', "E"},
            {'ę', "e"},
            {'Ě', "E"},
            {'ě', "e"},
            {'Ĝ', "G"},
            {'ĝ', "g"},
            {'Ğ', "G"},
            {'ğ', "g"},
            {'Ġ', "G"},
            {'ġ', "g"},
            {'Ģ', "G"},
            {'ģ', "g"},
            {'Ĥ', "H"},
            {'ĥ', "h"},
            {'Ĩ', "I"},
            {'ĩ', "i"},
            {'Ī', "I"},
            {'ī', "i"},
            {'Ĭ', "I"},
            {'ĭ', "i"},
            {'Į', "I"},
            {'į', "i"},
            {'İ', "I"},
            {'Ĳ', "IJ"},
            {'ĳ', "ij"},
            {'Ĵ', "J"},
            {'ĵ', "j"},
            {'Ķ', "K"},
            {'ķ', "k"},
            {'Ĺ', "L"},
            {'ĺ', "l"},
            {'Ļ', "L"},
            {'ļ', "l"},
            {'Ľ', "L"},
            {'ľ', "l"},
            {'Ŀ', "L"},
            {'ŀ', "l"},
            {'Ń', "N"},
            {'ń', "n"},
            {'Ņ', "N"},
            {'ņ', "n"},
            {'Ň', "N"},
            {'ň', "n"},
            {'ŉ', "n"},
            {'Ō', "O"},
            {'ō', "o"},
            {'Ŏ', "O"},
            {'ŏ', "o"},
            {'Ő', "O"},
            {'ő', "o"},
            {'Ŕ', "R"},
            {'ŕ', "r"},
            {'Ŗ', "R"},
            {'ŗ', "r"},
            {'Ř', "R"},
            {'ř', "r"},
            {'Ś', "S"},
            {'ś', "s"},
            {'Ŝ', "S"},
            {'ŝ', "s"},
            {'Ş', "S"},
            {'ş', "s"},
            {'Š', "S"},
            {'š', "s"},
            {'Ţ', "T"},
            {'ţ', "t"},
            {'Ť', "T"},
            {'ť', "t"},
            {'Ũ', "U"},
            {'ũ', "u"},
            {'Ū', "U"},
            {'ū', "u"},
            {'Ŭ', "U"},
            {'ŭ', "u"},
            {'Ů', "U"},
            {'ů', "u"},
            {'Ű', "U"},
            {'ű', "u"},
            {'Ų', "U"},
            {'ų', "u"},
            {'Ŵ', "W"},
            {'ŵ', "w"},
            {'Ŷ', "Y"},
            {'ŷ', "y"},
            {'Ÿ', "Y"},
            {'Ź', "Z"},
            {'ź', "z"},
            {'Ż', "Z"},
            {'ż', "z"},
            {'Ž', "Z"},
            {'ž', "z"},
            {'ſ', "s"},
            {'Ơ', "O"},
            {'ơ', "o"},
            {'Ư', "U"},
            {'ư', "u"},
            {'Ǆ', "DZ"},
            {'ǅ', "Dz"},
            {'ǆ', "dz"},
            {'Ǉ', "LJ"},
            {'ǈ', "Lj"},
            {'ǉ', "lj"},
            {'Ǌ', "NJ"},
            {'ǋ', "Nj"},
            {'ǌ', "nj"},
            {'Ǎ', "A"},
            {'ǎ', "a"},
            {'Ǐ', "I"},
            {'ǐ', "i"},
            {'Ǒ', "O"},
            {'ǒ', "o"},
            {'Ǔ', "U"},
            {'ǔ', "u"},
            {'Ǖ', "U"},
            {'ǖ', "u"},
            {'Ǘ', "U"},
            {'ǘ', "u"},
            {'Ǚ', "U"},
            {'ǚ', "u"},
            {'Ǜ', "U"},
            {'ǜ', "u"},
            {'Ǟ', "A"},
            {'ǟ', "a"},
            {'Ǡ', "A"},
            {'ǡ', "a"},
            {'Ǧ', "G"},
            {'ǧ', "g"},
            {'Ǩ', "K"},
            {'ǩ', "k"},
            {'Ǫ', "O"},
            {'ǫ', "o"},
            {'Ǭ', "O"},
            {'ǭ', "o"},
            {'ǰ', "j"},
            {'Ǳ', "DZ"},
            {'ǲ', "Dz"},
            {'ǳ', "dz"},
            {'Ǵ', "G"},
            {'ǵ', "g"},
            {'Ǹ', "N"},
            {'ǹ', "n"},
            {'Ǻ', "A"},
            {'ǻ', "a"},
            {'Ȁ', "A"},
            {'ȁ', "a"},
            {'Ȃ', "A"},
            {'ȃ', "a"},
            {'Ȅ', "E"},
            {'ȅ', "e"},
            {'Ȇ', "E"},
            {'ȇ', "e"},
            {'Ȉ', "I"},
            {'ȉ', "i"},
            {'Ȋ', "I"},
            {'ȋ', "i"},
            {'Ȍ', "O"},
            {'ȍ', "o"},
            {'Ȏ', "O"},
            {'ȏ', "o"},
            {'Ȑ', "R"},
            {'ȑ', "r"},
            {'Ȓ', "R"},
            {'ȓ', "r"},
            {'Ȕ', "U"},
            {'ȕ', "u"},
            {'Ȗ', "U"},
            {'ȗ', "u"},
            {'Ș', "S"},
            {'ș', "s"},
            {'Ț', "T"},
            {'ț', "t"},
            {'Ȟ', "H"},
            {'ȟ', "h"},
            {'Ȧ', "A"},
            {'ȧ', "a"},
            {'Ȩ', "E"},
            {'ȩ', "e"},
            {'Ȫ', "O"},
            {'ȫ', "o"},
            {'Ȭ', "O"},
            {'ȭ', "o"},
            {'Ȯ', "O"},
            {'ȯ', "o"},
            {'Ȱ', "O"},
            {'ȱ', "o"},
            {'Ȳ', "Y"},
            {'ȳ', "y"},
            {'ʰ', "h"},
            {'ʲ', "j"},
            {'ʳ', "r"},
            {'ʷ', "w"},
            {'ʸ', "y"},
            {'ˡ', "l"},
            {'ˢ', "s"},
            {'ˣ', "x"},
            {';', ";"},
            {'ᴬ', "A"},
            {'ᴮ', "B"},
            {'ᴰ', "D"},
            {'ᴱ', "E"},
            {'ᴳ', "G"},
            {'ᴴ', "H"},
            {'ᴵ', "I"},
            {'ᴶ', "J"},
            {'ᴷ', "K"},
            {'ᴸ', "L"},
            {'ᴹ', "M"},
            {'ᴺ', "N"},
            {'ᴼ', "O"},
            {'ᴾ', "P"},
            {'ᴿ', "R"},
            {'ᵀ', "T"},
            {'ᵁ', "U"},
            {'ᵂ', "W"},
            {'ᵃ', "a"},
            {'ᵇ', "b"},
            {'ᵈ', "d"},
            {'ᵉ', "e"},
            {'ᵍ', "g"},
            {'ᵏ', "k"},
            {'ᵐ', "m"},
            {'ᵒ', "o"},
            {'ᵖ', "p"},
            {'ᵗ', "t"},
            {'ᵘ', "u"},
            {'ᵛ', "v"},
            {'ᵢ', "i"},
            {'ᵣ', "r"},
            {'ᵤ', "u"},
            {'ᵥ', "v"},
            {'ᶜ', "c"},
            {'ᶠ', "f"},
            {'ᶻ', "z"},
            {'Ḁ', "A"},
            {'ḁ', "a"},
            {'Ḃ', "B"},
            {'ḃ', "b"},
            {'Ḅ', "B"},
            {'ḅ', "b"},
            {'Ḇ', "B"},
            {'ḇ', "b"},
            {'Ḉ', "C"},
            {'ḉ', "c"},
            {'ḋ', "d"},
            {'ḍ', "d"},
            {'Ḏ', "D"},
            {'ḏ', "d"},
            {'Ḑ', "D"},
            {'ḑ', "d"},
            {'Ḓ', "D"},
            {'ḓ', "d"},
            {'ḕ', "e"},
            {'Ḗ', "E"},
            {'ḗ', "e"},
            {'Ḙ', "E"},
            {'ḙ', "e"},
            {'Ḛ', "E"},
            {'ḛ', "e"},
            {'Ḝ', "E"},
            {'ḝ', "e"},
            {'Ḟ', "F"},
            {'ḟ', "f"},
            {'Ḡ', "G"},
            {'ḡ', "g"},
            {'Ḣ', "H"},
            {'ḣ', "h"},
            {'Ḥ', "H"},
            {'ḥ', "h"},
            {'Ḧ', "H"},
            {'ḧ', "h"},
            {'Ḩ', "H"},
            {'ḩ', "h"},
            {'Ḫ', "H"},
            {'ḫ', "h"},
            {'Ḭ', "I"},
            {'ḭ', "i"},
            {'Ḯ', "I"},
            {'ḯ', "i"},
            {'Ḱ', "K"},
            {'ḱ', "k"},
            {'Ḳ', "K"},
            {'ḳ', "k"},
            {'Ḵ', "K"},
            {'ḵ', "k"},
            {'Ḷ', "L"},
            {'ḷ', "l"},
            {'Ḹ', "L"},
            {'ḹ', "l"},
            {'Ḻ', "L"},
            {'ḻ', "l"},
            {'Ḽ', "L"},
            {'ḽ', "l"},
            {'Ḿ', "M"},
            {'ḿ', "m"},
            {'Ṁ', "M"},
            {'ṁ', "m"},
            {'Ṃ', "M"},
            {'ṃ', "m"},
            {'Ṅ', "N"},
            {'ṅ', "n"},
            {'Ṇ', "N"},
            {'ṇ', "n"},
            {'Ṉ', "N"},
            {'ṉ', "n"},
            {'Ṋ', "N"},
            {'ṋ', "n"},
            {'Ṍ', "O"},
            {'ṍ', "o"},
            {'Ṏ', "O"},
            {'ṏ', "o"},
            {'Ṑ', "O"},
            {'ṑ', "o"},
            {'Ṓ', "O"},
            {'ṓ', "o"},
            {'Ṕ', "P"},
            {'ṕ', "p"},
            {'Ṗ', "P"},
            {'ṗ', "p"},
            {'Ṙ', "R"},
            {'ṙ', "r"},
            {'Ṛ', "R"},
            {'ṛ', "r"},
            {'Ṝ', "R"},
            {'ṝ', "r"},
            {'Ṟ', "R"},
            {'ṟ', "r"},
            {'Ṡ', "S"},
            {'ṡ', "s"},
            {'Ṣ', "S"},
            {'ṣ', "s"},
            {'Ṥ', "S"},
            {'ṥ', "s"},
            {'Ṧ', "S"},
            {'ṧ', "s"},
            {'Ṩ', "S"},
            {'ṩ', "s"},
            {'Ṫ', "T"},
            {'ṫ', "t"},
            {'Ṭ', "T"},
            {'ṭ', "t"},
            {'Ṯ', "T"},
            {'ṯ', "t"},
            {'Ṱ', "T"},
            {'ṱ', "t"},
            {'Ṳ', "U"},
            {'ṳ', "u"},
            {'Ṵ', "U"},
            {'ṵ', "u"},
            {'Ṷ', "U"},
            {'ṷ', "u"},
            {'Ṹ', "U"},
            {'ṹ', "u"},
            {'Ṻ', "U"},
            {'ṻ', "u"},
            {'Ṽ', "V"},
            {'ṽ', "v"},
            {'Ṿ', "V"},
            {'ṿ', "v"},
            {'Ẁ', "W"},
            {'ẁ', "w"},
            {'Ẃ', "W"},
            {'ẃ', "w"},
            {'Ẅ', "W"},
            {'ẅ', "w"},
            {'Ẇ', "W"},
            {'ẇ', "w"},
            {'Ẉ', "W"},
            {'ẉ', "w"},
            {'Ẋ', "X"},
            {'ẋ', "x"},
            {'Ẍ', "X"},
            {'ẍ', "x"},
            {'Ẏ', "Y"},
            {'ẏ', "y"},
            {'Ẑ', "Z"},
            {'ẑ', "z"},
            {'Ẓ', "Z"},
            {'ẓ', "z"},
            {'Ẕ', "Z"},
            {'ẕ', "z"},
            {'ẖ', "h"},
            {'ẗ', "t"},
            {'ẘ', "w"},
            {'ẙ', "y"},
            {'ẚ', "a"},
            {'ẛ', "s"},
            {'Ạ', "A"},
            {'ạ', "a"},
            {'Ả', "A"},
            {'ả', "a"},
            {'Ấ', "A"},
            {'ấ', "a"},
            {'Ầ', "A"},
            {'ầ', "a"},
            {'Ẩ', "A"},
            {'ẩ', "a"},
            {'Ẫ', "A"},
            {'ẫ', "a"},
            {'Ậ', "A"},
            {'ậ', "a"},
            {'Ắ', "A"},
            {'ắ', "a"},
            {'Ằ', "A"},
            {'ằ', "a"},
            {'Ẳ', "A"},
            {'ẳ', "a"},
            {'Ẵ', "A"},
            {'ẵ', "a"},
            {'Ặ', "A"},
            {'ặ', "a"},
            {'Ẹ', "E"},
            {'ẹ', "e"},
            {'Ẻ', "E"},
            {'ẻ', "e"},
            {'Ẽ', "E"},
            {'ẽ', "e"},
            {'Ế', "E"},
            {'ế', "e"},
            {'Ề', "E"},
            {'ề', "e"},
            {'Ể', "E"},
            {'ể', "e"},
            {'Ễ', "E"},
            {'ễ', "e"},
            {'Ệ', "E"},
            {'ệ', "e"},
            {'Ỉ', "I"},
            {'ỉ', "i"},
            {'Ị', "I"},
            {'ị', "i"},
            {'Ọ', "O"},
            {'ọ', "o"},
            {'Ỏ', "O"},
            {'ỏ', "o"},
            {'Ố', "O"},
            {'ố', "o"},
            {'Ồ', "O"},
            {'ồ', "o"},
            {'Ổ', "O"},
            {'ổ', "o"},
            {'Ỗ', "O"},
            {'ỗ', "o"},
            {'Ộ', "O"},
            {'ộ', "o"},
            {'Ớ', "O"},
            {'ớ', "o"},
            {'Ờ', "O"},
            {'ờ', "o"},
            {'Ở', "O"},
            {'ở', "o"},
            {'Ỡ', "O"},
            {'ỡ', "o"},
            {'Ợ', "O"},
            {'ợ', "o"},
            {'Ụ', "U"},
            {'ụ', "u"},
            {'Ủ', "U"},
            {'ủ', "u"},
            {'Ứ', "U"},
            {'ứ', "u"},
            {'Ừ', "U"},
            {'ừ', "u"},
            {'Ử', "U"},
            {'ử', "u"},
            {'Ữ', "U"},
            {'ữ', "u"},
            {'Ự', "U"},
            {'ự', "u"},
            {'Ỳ', "Y"},
            {'ỳ', "y"},
            {'Ỵ', "Y"},
            {'ỵ', "y"},
            {'Ỷ', "Y"},
            {'ỷ', "y"},
            {'Ỹ', "Y"},
            {'ỹ', "y"},
            {'`', "`"},
            {'․', "."},
            {'‥', ".."},
            {'…', "..."},
            {'‼', "!!"},
            {'⁇', "??"},
            {'⁈', "?!"},
            {'⁉', "!?"},
            {'⁰', "0"},
            {'ⁱ', "i"},
            {'⁴', "4"},
            {'⁵', "5"},
            {'⁶', "6"},
            {'⁷', "7"},
            {'⁸', "8"},
            {'⁹', "9"},
            {'⁺', "+"},
            {'⁼', "="},
            {'⁽', "("},
            {'⁾', ")"},
            {'ⁿ', "n"},
            {'₀', "0"},
            {'₁', "1"},
            {'₂', "2"},
            {'₃', "3"},
            {'₄', "4"},
            {'₅', "5"},
            {'₆', "6"},
            {'₇', "7"},
            {'₈', "8"},
            {'₉', "9"},
            {'₊', "+"},
            {'₌', "="},
            {'₍', "("},
            {'₎', ")"},
            {'ₐ', "a"},
            {'ₑ', "e"},
            {'ₒ', "o"},
            {'ₓ', "x"},
            {'ₕ', "h"},
            {'ₖ', "k"},
            {'ₗ', "l"},
            {'ₘ', "m"},
            {'ₙ', "n"},
            {'ₚ', "p"},
            {'ₛ', "s"},
            {'ₜ', "t"},
            {'₨', "Rs"},
            {'℀', "a/c"},
            {'℁', "a/s"},
            {'ℂ', "C"},
            {'℃', "C"},
            {'℅', "c/o"},
            {'℆', "c/u"},
            {'℉', "F"},
            {'ℊ', "g"},
            {'ℋ', "H"},
            {'ℌ', "H"},
            {'ℍ', "H"},
            {'ℎ', "h"},
            {'ℐ', "I"},
            {'ℑ', "I"},
            {'ℒ', "L"},
            {'ℓ', "l"},
            {'ℕ', "N"},
            {'№', "No"},
            {'ℙ', "P"},
            {'ℚ', "Q"},
            {'ℛ', "R"},
            {'ℜ', "R"},
            {'ℝ', "R"},
            {'℠', "SM"},
            {'℡', "TEL"},
            {'™', "TM"},
            {'ℤ', "Z"},
            {'ℨ', "Z"},
            {'K', "K"},
            {'Å', "A"},
            {'ℬ', "B"},
            {'ℭ', "C"},
            {'ℯ', "e"},
            {'ℰ', "E"},
            {'ℱ', "F"},
            {'ℳ', "M"},
            {'ℴ', "o"},
            {'ℹ', "i"},
            {'℻', "FAX"},
            {'ⅅ', "D"},
            {'ⅆ', "d"},
            {'ⅇ', "e"},
            {'ⅈ', "i"},
            {'ⅉ', "j"},
            {'⅐', "17"},
            {'⅑', "19"},
            {'⅒', "110"},
            {'⅓', "13"},
            {'⅔', "23"},
            {'⅕', "15"},
            {'⅖', "25"},
            {'⅗', "35"},
            {'⅘', "45"},
            {'⅙', "16"},
            {'⅚', "56"},
            {'⅛', "18"},
            {'⅜', "38"},
            {'⅝', "58"},
            {'⅞', "78"},
            {'⅟', "1"},
            {'Ⅰ', "I"},
            {'Ⅱ', "II"},
            {'Ⅲ', "III"},
            {'Ⅳ', "IV"},
            {'Ⅴ', "V"},
            {'Ⅵ', "VI"},
            {'Ⅶ', "VII"},
            {'Ⅷ', "VIII"},
            {'Ⅸ', "IX"},
            {'Ⅹ', "X"},
            {'Ⅺ', "XI"},
            {'Ⅻ', "XII"},
            {'Ⅼ', "L"},
            {'Ⅽ', "C"},
            {'Ⅾ', "D"},
            {'Ⅿ', "M"},
            {'ⅰ', "i"},
            {'ⅱ', "ii"},
            {'ⅲ', "iii"},
            {'ⅳ', "iv"},
            {'ⅴ', "v"},
            {'ⅵ', "vi"},
            {'ⅶ', "vii"},
            {'ⅷ', "viii"},
            {'ⅸ', "ix"},
            {'ⅹ', "x"},
            {'ⅺ', "xi"},
            {'ⅻ', "xii"},
            {'ⅼ', "l"},
            {'ⅽ', "c"},
            {'ⅾ', "d"},
            {'ⅿ', "m"},
            {'↉', "03"},
            {'≠', "="},
            {'≮', "<"},
            {'≯', ">"},
            {'①', "1"},
            {'②', "2"},
            {'③', "3"},
            {'④', "4"},
            {'⑤', "5"},
            {'⑥', "6"},
            {'⑦', "7"},
            {'⑧', "8"},
            {'⑨', "9"},
            {'⑩', "10"},
            {'⑪', "11"},
            {'⑫', "12"},
            {'⑬', "13"},
            {'⑭', "14"},
            {'⑮', "15"},
            {'⑯', "16"},
            {'⑰', "17"},
            {'⑱', "18"},
            {'⑲', "19"},
            {'⑳', "20"},
            {'⑴', "(1)"},
            {'⑵', "(2)"},
            {'⑶', "(3)"},
            {'⑷', "(4)"},
            {'⑸', "(5)"},
            {'⑹', "(6)"},
            {'⑺', "(7)"},
            {'⑻', "(8)"},
            {'⑼', "(9)"},
            {'⑽', "(10)"},
            {'⑾', "(11)"},
            {'⑿', "(12)"},
            {'⒀', "(13)"},
            {'⒁', "(14)"},
            {'⒂', "(15)"},
            {'⒃', "(16)"},
            {'⒄', "(17)"},
            {'⒅', "(18)"},
            {'⒆', "(19)"},
            {'⒇', "(20)"},
            {'⒈', "1."},
            {'⒉', "2."},
            {'⒊', "3."},
            {'⒋', "4."},
            {'⒌', "5."},
            {'⒍', "6."},
            {'⒎', "7."},
            {'⒏', "8."},
            {'⒐', "9."},
            {'⒑', "10."},
            {'⒒', "11."},
            {'⒓', "12."},
            {'⒔', "13."},
            {'⒕', "14."},
            {'⒖', "15."},
            {'⒗', "16."},
            {'⒘', "17."},
            {'⒙', "18."},
            {'⒚', "19."},
            {'⒛', "20."},
            {'⒜', "(a)"},
            {'⒝', "(b)"},
            {'⒞', "(c)"},
            {'⒟', "(d)"},
            {'⒠', "(e)"},
            {'⒡', "(f)"},
            {'⒢', "(g)"},
            {'⒣', "(h)"},
            {'⒤', "(i)"},
            {'⒥', "(j)"},
            {'⒦', "(k)"},
            {'⒧', "(l)"},
            {'⒨', "(m)"},
            {'⒩', "(n)"},
            {'⒪', "(o)"},
            {'⒫', "(p)"},
            {'⒬', "(q)"},
            {'⒭', "(r)"},
            {'⒮', "(s)"},
            {'⒯', "(t)"},
            {'⒰', "(u)"},
            {'⒱', "(v)"},
            {'⒲', "(w)"},
            {'⒳', "(x)"},
            {'⒴', "(y)"},
            {'⒵', "(z)"},
            {'Ⓐ', "A"},
            {'Ⓑ', "B"},
            {'Ⓒ', "C"},
            {'Ⓓ', "D"},
            {'Ⓔ', "E"},
            {'Ⓕ', "F"},
            {'Ⓖ', "G"},
            {'Ⓗ', "H"},
            {'Ⓘ', "I"},
            {'Ⓙ', "J"},
            {'Ⓚ', "K"},
            {'Ⓛ', "L"},
            {'Ⓜ', "M"},
            {'Ⓝ', "N"},
            {'Ⓞ', "O"},
            {'Ⓟ', "P"},
            {'Ⓠ', "Q"},
            {'Ⓡ', "R"},
            {'Ⓢ', "S"},
            {'Ⓣ', "T"},
            {'Ⓤ', "U"},
            {'Ⓥ', "V"},
            {'Ⓦ', "W"},
            {'Ⓧ', "X"},
            {'Ⓨ', "Y"},
            {'Ⓩ', "Z"},
            {'ⓐ', "a"},
            {'ⓑ', "b"},
            {'ⓒ', "c"},
            {'ⓓ', "d"},
            {'ⓔ', "e"},
            {'ⓕ', "f"},
            {'ⓖ', "g"},
            {'ⓗ', "h"},
            {'ⓘ', "i"},
            {'ⓙ', "j"},
            {'ⓚ', "k"},
            {'ⓛ', "l"},
            {'ⓜ', "m"},
            {'ⓝ', "n"},
            {'ⓞ', "o"},
            {'ⓟ', "p"},
            {'ⓠ', "q"},
            {'ⓡ', "r"},
            {'ⓢ', "s"},
            {'ⓣ', "t"},
            {'ⓤ', "u"},
            {'ⓥ', "v"},
            {'ⓦ', "w"},
            {'ⓧ', "x"},
            {'ⓨ', "y"},
            {'ⓩ', "z"},
            {'⓪', "0"},
            {'⩴', "::="},
            {'⩵', "=="},
            {'⩶', "==="},
            {'ⱼ', "j"},
            {'ⱽ', "V"},
            {'㈀', "()"},
            {'㈁', "()"},
            {'㈂', "()"},
            {'㈃', "()"},
            {'㈄', "()"},
            {'㈅', "()"},
            {'㈆', "()"},
            {'㈇', "()"},
            {'㈈', "()"},
            {'㈉', "()"},
            {'㈊', "()"},
            {'㈋', "()"},
            {'㈌', "()"},
            {'㈍', "()"},
            {'㈎', "()"},
            {'㈏', "()"},
            {'㈐', "()"},
            {'㈑', "()"},
            {'㈒', "()"},
            {'㈓', "()"},
            {'㈔', "()"},
            {'㈕', "()"},
            {'㈖', "()"},
            {'㈗', "()"},
            {'㈘', "()"},
            {'㈙', "()"},
            {'㈚', "()"},
            {'㈛', "()"},
            {'㈜', "()"},
            {'㈝', "()"},
            {'㈞', "()"},
            {'㈠', "()"},
            {'㈡', "()"},
            {'㈢', "()"},
            {'㈣', "()"},
            {'㈤', "()"},
            {'㈥', "()"},
            {'㈦', "()"},
            {'㈧', "()"},
            {'㈨', "()"},
            {'㈩', "()"},
            {'㈪', "()"},
            {'㈫', "()"},
            {'㈬', "()"},
            {'㈭', "()"},
            {'㈮', "()"},
            {'㈯', "()"},
            {'㈰', "()"},
            {'㈱', "()"},
            {'㈲', "()"},
            {'㈳', "()"},
            {'㈴', "()"},
            {'㈵', "()"},
            {'㈶', "()"},
            {'㈷', "()"},
            {'㈸', "()"},
            {'㈹', "()"},
            {'㈺', "()"},
            {'㈻', "()"},
            {'㈼', "()"},
            {'㈽', "()"},
            {'㈾', "()"},
            {'㈿', "()"},
            {'㉀', "()"},
            {'㉁', "()"},
            {'㉂', "()"},
            {'㉃', "()"},
            {'㉐', "PTE"},
            {'㉑', "21"},
            {'㉒', "22"},
            {'㉓', "23"},
            {'㉔', "24"},
            {'㉕', "25"},
            {'㉖', "26"},
            {'㉗', "27"},
            {'㉘', "28"},
            {'㉙', "29"},
            {'㉚', "30"},
            {'㉛', "31"},
            {'㉜', "32"},
            {'㉝', "33"},
            {'㉞', "34"},
            {'㉟', "35"},
            {'㊱', "36"},
            {'㊲', "37"},
            {'㊳', "38"},
            {'㊴', "39"},
            {'㊵', "40"},
            {'㊶', "41"},
            {'㊷', "42"},
            {'㊸', "43"},
            {'㊹', "44"},
            {'㊺', "45"},
            {'㊻', "46"},
            {'㊼', "47"},
            {'㊽', "48"},
            {'㊾', "49"},
            {'㊿', "50"},
            {'㋀', "1"},
            {'㋁', "2"},
            {'㋂', "3"},
            {'㋃', "4"},
            {'㋄', "5"},
            {'㋅', "6"},
            {'㋆', "7"},
            {'㋇', "8"},
            {'㋈', "9"},
            {'㋉', "10"},
            {'㋊', "11"},
            {'㋋', "12"},
            {'㋌', "Hg"},
            {'㋍', "erg"},
            {'㋎', "eV"},
            {'㋏', "LTD"},
            {'㍘', "0"},
            {'㍙', "1"},
            {'㍚', "2"},
            {'㍛', "3"},
            {'㍜', "4"},
            {'㍝', "5"},
            {'㍞', "6"},
            {'㍟', "7"},
            {'㍠', "8"},
            {'㍡', "9"},
            {'㍢', "10"},
            {'㍣', "11"},
            {'㍤', "12"},
            {'㍥', "13"},
            {'㍦', "14"},
            {'㍧', "15"},
            {'㍨', "16"},
            {'㍩', "17"},
            {'㍪', "18"},
            {'㍫', "19"},
            {'㍬', "20"},
            {'㍭', "21"},
            {'㍮', "22"},
            {'㍯', "23"},
            {'㍰', "24"},
            {'㍱', "hPa"},
            {'㍲', "da"},
            {'㍳', "AU"},
            {'㍴', "bar"},
            {'㍵', "oV"},
            {'㍶', "pc"},
            {'㍷', "dm"},
            {'㍸', "dm2"},
            {'㍹', "dm3"},
            {'㍺', "IU"},
            {'㎀', "pA"},
            {'㎁', "nA"},
            {'㎂', "A"},
            {'㎃', "mA"},
            {'㎄', "kA"},
            {'㎅', "KB"},
            {'㎆', "MB"},
            {'㎇', "GB"},
            {'㎈', "cal"},
            {'㎉', "kcal"},
            {'㎊', "pF"},
            {'㎋', "nF"},
            {'㎌', "F"},
            {'㎍', "g"},
            {'㎎', "mg"},
            {'㎏', "kg"},
            {'㎐', "Hz"},
            {'㎑', "kHz"},
            {'㎒', "MHz"},
            {'㎓', "GHz"},
            {'㎔', "THz"},
            {'㎕', "l"},
            {'㎖', "ml"},
            {'㎗', "dl"},
            {'㎘', "kl"},
            {'㎙', "fm"},
            {'㎚', "nm"},
            {'㎛', "m"},
            {'㎜', "mm"},
            {'㎝', "cm"},
            {'㎞', "km"},
            {'㎟', "mm2"},
            {'㎠', "cm2"},
            {'㎡', "m2"},
            {'㎢', "km2"},
            {'㎣', "mm3"},
            {'㎤', "cm3"},
            {'㎥', "m3"},
            {'㎦', "km3"},
            {'㎧', "ms"},
            {'㎨', "ms2"},
            {'㎩', "Pa"},
            {'㎪', "kPa"},
            {'㎫', "MPa"},
            {'㎬', "GPa"},
            {'㎭', "rad"},
            {'㎮', "rads"},
            {'㎯', "rads2"},
            {'㎰', "ps"},
            {'㎱', "ns"},
            {'㎲', "s"},
            {'㎳', "ms"},
            {'㎴', "pV"},
            {'㎵', "nV"},
            {'㎶', "V"},
            {'㎷', "mV"},
            {'㎸', "kV"},
            {'㎹', "MV"},
            {'㎺', "pW"},
            {'㎻', "nW"},
            {'㎼', "W"},
            {'㎽', "mW"},
            {'㎾', "kW"},
            {'㎿', "MW"},
            {'㏀', "k"},
            {'㏁', "M"},
            {'㏂', "a.m."},
            {'㏃', "Bq"},
            {'㏄', "cc"},
            {'㏅', "cd"},
            {'㏆', "Ckg"},
            {'㏇', "Co."},
            {'㏈', "dB"},
            {'㏉', "Gy"},
            {'㏊', "ha"},
            {'㏋', "HP"},
            {'㏌', "in"},
            {'㏍', "KK"},
            {'㏎', "KM"},
            {'㏏', "kt"},
            {'㏐', "lm"},
            {'㏑', "ln"},
            {'㏒', "log"},
            {'㏓', "lx"},
            {'㏔', "mb"},
            {'㏕', "mil"},
            {'㏖', "mol"},
            {'㏗', "PH"},
            {'㏘', "p.m."},
            {'㏙', "PPM"},
            {'㏚', "PR"},
            {'㏛', "sr"},
            {'㏜', "Sv"},
            {'㏝', "Wb"},
            {'㏞', "Vm"},
            {'㏟', "Am"},
            {'㏠', "1"},
            {'㏡', "2"},
            {'㏢', "3"},
            {'㏣', "4"},
            {'㏤', "5"},
            {'㏥', "6"},
            {'㏦', "7"},
            {'㏧', "8"},
            {'㏨', "9"},
            {'㏩', "10"},
            {'㏪', "11"},
            {'㏫', "12"},
            {'㏬', "13"},
            {'㏭', "14"},
            {'㏮', "15"},
            {'㏯', "16"},
            {'㏰', "17"},
            {'㏱', "18"},
            {'㏲', "19"},
            {'㏳', "20"},
            {'㏴', "21"},
            {'㏵', "22"},
            {'㏶', "23"},
            {'㏷', "24"},
            {'㏸', "25"},
            {'㏹', "26"},
            {'㏺', "27"},
            {'㏻', "28"},
            {'㏼', "29"},
            {'㏽', "30"},
            {'㏾', "31"},
            {'㏿', "gal"},
            {'ﬀ', "ff"},
            {'ﬁ', "fi"},
            {'ﬂ', "fl"},
            {'ﬃ', "ffi"},
            {'ﬄ', "ffl"},
            {'ﬅ', "st"},
            {'ﬆ', "st"},
            {'﬩', "+"},
            {'︐', ","},
            {'︓', ":"},
            {'︔', ";"},
            {'︕', "!"},
            {'︖', "?"},
            {'︙', "..."},
            {'︰', ".."},
            {'︳', "_"},
            {'︴', "_"},
            {'︵', "("},
            {'︶', ")"},
            {'︷', "{"},
            {'︸', "}"},
            {'﹇', "["},
            {'﹈', "]"},
            {'﹍', "_"},
            {'﹎', "_"},
            {'﹏', "_"},
            {'﹐', ","},
            {'﹒', "."},
            {'﹔', ";"},
            {'﹕', ":"},
            {'﹖', "?"},
            {'﹗', "!"},
            {'﹙', "("},
            {'﹚', ")"},
            {'﹛', "{"},
            {'﹜', "}"},
            {'﹟', "#"},
            {'﹠', "&"},
            {'﹡', "*"},
            {'﹢', "+"},
            {'﹣', "-"},
            {'﹤', "<"},
            {'﹥', ">"},
            {'﹦', "="},
            {'﹨', "\\"},
            {'﹩', "$"},
            {'﹪', "%"},
            {'﹫', "@"},
            {'！', "!"},
            {'＂', "\""},
            {'＃', "#"},
            {'＄', "$"},
            {'％', "%"},
            {'＆', "&"},
            {'＇', "'"},
            {'（', "("},
            {'）', ")"},
            {'＊', "*"},
            {'＋', "+"},
            {'，', ","},
            {'－', "-"},
            {'．', "."},
            {'／', "/"},
            {'０', "0"},
            {'１', "1"},
            {'２', "2"},
            {'３', "3"},
            {'４', "4"},
            {'５', "5"},
            {'６', "6"},
            {'７', "7"},
            {'８', "8"},
            {'９', "9"},
            {'：', ":"},
            {'；', ";"},
            {'＜', "<"},
            {'＝', "="},
            {'＞', ">"},
            {'？', "?"},
            {'＠', "@"},
            {'Ａ', "A"},
            {'Ｂ', "B"},
            {'Ｃ', "C"},
            {'Ｄ', "D"},
            {'Ｅ', "E"},
            {'Ｆ', "F"},
            {'Ｇ', "G"},
            {'Ｈ', "H"},
            {'Ｉ', "I"},
            {'Ｊ', "J"},
            {'Ｋ', "K"},
            {'Ｌ', "L"},
            {'Ｍ', "M"},
            {'Ｎ', "N"},
            {'Ｏ', "O"},
            {'Ｐ', "P"},
            {'Ｑ', "Q"},
            {'Ｒ', "R"},
            {'Ｓ', "S"},
            {'Ｔ', "T"},
            {'Ｕ', "U"},
            {'Ｖ', "V"},
            {'Ｗ', "W"},
            {'Ｘ', "X"},
            {'Ｙ', "Y"},
            {'Ｚ', "Z"},
            {'［', "["},
            {'＼', "\\"},
            {'］', "]"},
            {'＾', "^"},
            {'＿', "_"},
            {'｀', "`"},
            {'ａ', "a"},
            {'ｂ', "b"},
            {'ｃ', "c"},
            {'ｄ', "d"},
            {'ｅ', "e"},
            {'ｆ', "f"},
            {'ｇ', "g"},
            {'ｈ', "h"},
            {'ｉ', "i"},
            {'ｊ', "j"},
            {'ｋ', "k"},
            {'ｌ', "l"},
            {'ｍ', "m"},
            {'ｎ', "n"},
            {'ｏ', "o"},
            {'ｐ', "p"},
            {'ｑ', "q"},
            {'ｒ', "r"},
            {'ｓ', "s"},
            {'ｔ', "t"},
            {'ｕ', "u"},
            {'ｖ', "v"},
            {'ｗ', "w"},
            {'ｘ', "x"},
            {'ｙ', "y"},
            {'ｚ', "z"},
            {'｛', "{"},
            {'｜', "|"},
            {'｝', "}"},
            {'～', "~"},
        };
    }
}